# 指定cmake的最低版本
cmake_minimum_required(VERSION 3.0)

#打开编译时的详细信息
set(CMAKE_VERBOSE_MAKEFILEON ON)

#编译类型为Debug, 另一个是Release
set(CMAKE_BUILD_TYPE "Debug")


#指定编译选项
set(CMAKE_C_FLAGS "-Wall")
set(CMAKE_CXX_FLAGS "-Wall")

#set(SYSTEM_NAME arm-linux-gnueabihf-)
set(SYSTEM_NAME "")

set(CMAKE_C_COMPILER ${SYSTEM_NAME}gcc)
set(CMAKE_CXX_COMPILER ${SYSTEM_NAME}g++)


# 定义项目名称
project(app)

#设置生成的可执行文件名
set(EXE_NAME my_app)


#PROJECT_SOURCE_DIR 使用cmake命令后紧跟的目录，一般是工程的根目录
message(" ")
message("PROJECT_SOURCE_DIR:${PROJECT_SOURCE_DIR}")
message(" ")

#CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.txt所在的路径
message(" ")
message("CMAKE_CURRENT_SOURCE_DIR:${CMAKE_CURRENT_SOURCE_DIR}")
message(" ")


#添加自定义宏
add_definitions(-DTEST_NUM=5)
add_definitions(-DDEBUG_ENA=1)


#设置头文件路径
include_directories(${PROJECT_SOURCE_DIR}/../include)


# 将多有的源文件路径放到SRC_LIST
file(GLOB SRC_CALC ${PROJECT_SOURCE_DIR}/../calc/*.c)
file(GLOB SRC_SORT ${PROJECT_SOURCE_DIR}/../sort/*.c)
file(GLOB SRC_APP ${PROJECT_SOURCE_DIR}/*.c)

list(APPEND SRC_LIST ${SRC_CALC} ${SRC_SORT} ${SRC_APP})

message(" ")
message("src_files:${SRC_LIST}")
message(" ")


#设置链接库名称
set(LINK_LIBS pthread)


#生成可执行文件
add_executable(${EXE_NAME} ${SRC_LIST})


#指定可执行程序要链接的动态库名称
target_link_libraries(${EXE_NAME} ${LINK_LIBS})








